iT邦幫忙

2022 iThome 鐵人賽

DAY 1
1

首先呢,感謝你對我的主題感興趣,你可以叫我 Sid、這可要好好管管、管管或是吸管都行 ,這些都是我行走江湖的名號,目前任職於 Storipress Frontend team。

我踏入前端領域四年多的時間中,一直以來的開發經驗都在前後端分離的產品公司,而且前端團隊都比後端團隊還要龐大,我們需要長期的開發、維護相關的前端專案,因此不斷的優化開發流程並維持專案的健康,就是我們工作中重要的環節。

在這個系列中,我會把我對於專案維護的一些心得想法、以及常用的工具分享給大家,不過還是要提醒你一下,我的心得與工具的選擇都不會是絕對的,凡事都需要以實際情況來考量,我的分享更多是作為一個參考,如果有什麼建議或疑問也都歡迎與我討論。

為什麼維護這麼重要

現代的前端工程師所負責的任務可以說是越來越複雜了,跟過去「前端沒有邏輯」的時代相比,根本不可同日而語。

不過這種不斷累積疊加的複雜度,如果沒有一個健康的流程與系統來維持的話,恐怕專案會慢慢累積出各種「歷史本文」,進而演化成「歷史共業」。

當然,如果是一次性、用完就丟的拋棄式專案,自然就不太需要考慮這方面的問題,不過如果你所要負責的專案需要長期的更新、維護,那麼提高維護性就是不能忽視的重要課題。

效率與維護性的取捨

不可否認的,想要打造一個健康的前端專案,一定會增加開發的時間成本,先不提各種工具設置所花費的時間,還需要跟團隊成員達成充分的共識,不只要知道工具、流程如何使用,更要知道為何而用,像我所服務過的公司,都會定期地進行技術分享或是討論型的會議,也是為了同步團隊成員之間的共識。

而就算有了共識,加入的各種規範還是會實打實的增加大家的工作量,原本可能一小時可以開發完成的功能,還額外加上了兩三倍的時間來處理型別、測試、文件等等工作。

所以一定就要依照團隊與產品的規模來抉擇取捨,像是如果團隊人數不多又有時程壓力,建議可以先從使用 TypeScript 與 ESLint 開始,千萬不要不負責任的丟一句「我全都要」啊!

提高專案維護性的方向

想提高專案的維護性,我覺得主要分為流程與規範。

流程是大家有一致的共識,知道在什麼情況應該怎麼做,像是發 PR 的時候需要去任務管理系統變更任務狀態、要求正確的對象進行 code review、留下足夠的資訊讓 reviewer 能快速知道這個任務的前因後果以及如何測試。

規範就像是 git commit message 需要遵循的格式、ESLint、TypeScript、Unit test、E2E test 等需要通過的檢查。

我覺得這兩者是相輔相成的,不管哪個面向出了問題都會對專案造成危害的。


今天的文章主要是個引言,讓你知道我對於專案維護的看法、以及我想講些什麼東西,不過雖然上面說了規範與工具缺一不可,但因為公司團隊的規模、產業、風氣等等因素會對規範有很大的影響,這系列的重心會放在工具上面,分享我對工具的看法與一些實際使用的心得。


下一篇
必修的型別系統 TypeScript
系列文
前端開發維護筆記 - 打造健康的前端專案27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言